Skip to content

Add server_scaled_provider_cloud_run capability#799

Open
rossnelson wants to merge 2 commits into
mainfrom
dt-4089-cloud-run-capability
Open

Add server_scaled_provider_cloud_run capability#799
rossnelson wants to merge 2 commits into
mainfrom
dt-4089-cloud-run-capability

Conversation

@rossnelson

Copy link
Copy Markdown

What changed

Adds server_scaled_provider_cloud_run = 13 to GetSystemInfoResponse.Capabilities, following the server_scaled_deployments pattern (#752).

Why

The Temporal UI shows Google Cloud Run as a compute provider option for server-scaled worker deployments (temporalio/ui#3518), gated behind this capability — disabled with a "Coming Soon" badge until the server advertises support. The server should only set this once the Cloud Run scaling algorithm (worker-set support in temporal-auto-scaled-workers) ships and is enabled via server configuration.

Advertises support for the Cloud Run compute provider for server-scaled
deployments, so UIs can gate the provider option on server support.
@rossnelson rossnelson requested review from a team June 11, 2026 15:31
rossnelson added a commit to temporalio/ui that referenced this pull request Jun 11, 2026
Matches the proto field server_scaled_provider_cloud_run
(temporalio/api#799).
@rossnelson rossnelson enabled auto-merge (squash) June 11, 2026 15:33
@rossnelson rossnelson requested a review from shivam-ajmera June 11, 2026 18:16
rossnelson added a commit to temporalio/ui that referenced this pull request Jun 12, 2026
* feat(deployments): simplify create worker deployment UX

Redesigns the create serverless worker deployment form with a two-card
layout (Configuration + Compute), compute provider selection (Lambda /
GCP Cloud Run), provider-conditional fields, and a collapsible IAM role
setup guide with CloudFormation and Terraform tabs.

- Auto-generates Build ID with a random hex value
- Adds GCP Cloud Run provider fields and buildGcpCloudRunComputeConfig
- Stores CFN and Terraform templates as raw files (?raw imports)
- Accepts cfnTemplate and cfnTemplateUrl props so cloud-ui can supply
  hosted S3 templates and Launch Stack deep links
- Removes unused serverless-worker-setup-guide and setup-guide-toggle

* feat(deployments): support Cloud Run across version forms and omit scaler until supported

- Extract shared provider Resource/Access/Scaling sections into
  compute-fields.svelte; create deployment, create version, and edit
  version forms all render identical provider-specific sections
- Add provider + GCP fields to create/edit version schemas with
  conditional validation (shared superRefine)
- Build GCP Cloud Run compute config in version create/edit pages;
  infer initial provider from stored config when editing
- Omit the scaler block for Cloud Run requests: no worker-set
  compatible scaling algorithm exists server-side yet; scaling
  section shows a Coming Soon badge with Customize disabled
- Decode and render GCP provider details (worker pool, project,
  region, service account) in the expanded version row

* feat(deployments): gate Cloud Run provider behind cloudRunEnabled prop

Cloud Run radio card renders disabled with a Coming Soon badge unless
cloudRunEnabled is passed. OSS routes enable it; cloud-ui can wire the
prop to a feature flag and flip it when the backend is ready.

* feat(deployments): gate Cloud Run behind gcpCloudRunDeployments capability

The provider picker reads the gcpCloudRunDeployments system capability
directly (via a new hasCapability helper, also adopted by
CapabilityGuard) and renders the Cloud Run radio card disabled with a
Coming Soon badge when absent. The field doesn't exist in the published
api proto yet, so OSS shows Coming Soon until the server advertises it;
cloud-ui enables it by mapping a feature flag into its synthesized
systemInfo capabilities, same as serverScaledDeployments.

* rename capability to serverScaledProviderCloudRun

Matches the proto field server_scaled_provider_cloud_run
(temporalio/api#799).

* address review: randomUUID build id, decode by provider type

- buildId default uses crypto.randomUUID()
- provider detail decoders short-circuit unless the scaling group's
  provider type matches, instead of both running on every config
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant